diff -Naur wmtimer-2.92.orig/wmtimer/wmtimer.c wmtimer-2.92/wmtimer/wmtimer.c
--- wmtimer-2.92.orig/wmtimer/wmtimer.c	2004-01-28 21:45:48.000000000 -0500
+++ wmtimer-2.92/wmtimer/wmtimer.c	2016-08-16 04:10:54.620304460 -0400
@@ -5,6 +5,8 @@
 #include <string.h>
 #include <time.h>
 #include <unistd.h>
+#include <stdlib.h>
+#include <ctype.h>
 
 #include <sys/wait.h>
 #include <sys/param.h>
@@ -55,11 +57,6 @@
 int delete_event(GtkWidget *widget, GdkEvent *event, gpointer data);
 void destroy(GtkWidget *widget, gpointer data);
 
-// Functions to avoid 'implicit declaration' warnings
-int atoi();
-char toupper();
-
-
 /*******************************************************************************
  * Globals 
  ******************************************************************************/
@@ -568,20 +565,21 @@
  ******************************************************************************/
 void callback(GtkWidget * widget, gpointer data)
 {
-  if ((char *) data == "alarm_button")
+	char *arg = (char *)data;
+  if (strcmp(arg, "alarm_button") == 0)
     tmpMode = ALARM;
-  else if ((char *) data == "timer_button")
+  else if (strcmp(arg, "timer_button") == 0)
     tmpMode = TIMER;
-  else if ((char *) data == "chrono_button")
+  else if (strcmp(arg, "chrono_button") == 0)
     tmpMode = CHRONO;
-  else if ((char *) data == "bell_button")
+  else if (strcmp(arg, "bell_button") == 0)
   {
     if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)))
       tmpAction.bell = 1;
     else
       tmpAction.bell = 0;
   }
-  else if ((char *) data == "command_button")
+  else if (strcmp(arg, "command_button") == 0)
   {
     if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) 
     {
@@ -596,7 +594,7 @@
       gtk_entry_set_editable(GTK_ENTRY (entry), FALSE);
     }
   }
-  else if ((char *) data == "ok")
+  else if (strcmp(arg, "ok") == 0)
   {
     if (tmpAction.command)
       strcpy(command, gtk_entry_get_text(GTK_ENTRY (entry)));
